Singularity runtime#248
Conversation
|
Nice to see, especially for HPC users where Docker is not allowed for security reasons. Although I'll be curious how you handle sysadmin defined bind paths. |
The runner uses Singularity's So I think system-defined bind paths should be a non-issue! |
Yep! The Conda runtime is another good option for HPC, I think, though not as isolated as the containerization provided by Singularity. |
Nod, or this this workaround |
|
To test this, the easiest way is to download the standalone archive built by CI and available as a CI artifact. Artifacts can only be downloaded by authenticated users per GitHub's policy, so you'll either need to download the archive in your browser: https://github.com/nextstrain/cli/suites/10229277255/artifacts/501436118 or have credentials in your Once you have |
Sure, though this runtime would obsolete that workaround… |
b1c30db to
d435db6
Compare
|
New, simpler way to install the standalone build for this PR: (Download will be much slower than a normal release, but that's ok for dev.) No need to run the two final commands the installer suggests at the end. Then get started testing it with: |
d435db6 to
156e49b
Compare
…by an upcoming Singularity runner which shares a lot of behaviour with the Docker runner.
It's been my intention to support Singularity since day 1, but I never got around to implementing it because usage seemed little to non-existent amongst Nextstrain users I knew about. (Though maybe that's a chicken-or-the-egg problem!) We've since had users report their ad-hoc use of Singularity with Nextstrain, however, and Singularity is often the only containerization method supported by HPC systems. So it seems important to support. Resolves <#2>.
156e49b to
902e31d
Compare
|
Rebased onto latest |
|
Per Slack, I'm going to merge this today unless there are objections. It's worked in my testing, incl. on the Hutch's cluster. And I think @j23414 reported it worked for her too. I'm sure there will be things to fix that come up as we use it, so good to get it out there and available. I don't intend to add it yet to our main installation docs, but it will be noted in the Nextstrain CLI docs, and we can offer it in situations it might be useful. |
Add a new runner for a Singularity runtime based on the Docker runtime
It's been my intention to support Singularity since day 1, but I never got around to implementing it because usage seemed little to non-existent amongst Nextstrain users I knew about. (Though maybe that's a chicken-or-the-egg problem!) We've since had users report their ad-hoc use of Singularity with Nextstrain, however, and Singularity is often the only containerization method supported by HPC systems. So it seems important to support.
Resolves #2.
Testing
You can test this yourself using a source checkout of this PR, or with the standalone build produced by this PR:
(Download will be much slower than a normal release, but that's ok for dev.)
No need to run the two final commands the installer suggests at the end.
Then get started testing it with:
Checks
check-setupworkssetupworksupdateworksbuildworksviewworksshellworks